home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
PROGRAM
/
TP011793.ARJ
/
01-17-93.TPC
Wrap
Text File
|
1993-01-17
|
76KB
|
2,322 lines
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 08:12:00
From Terry Hughes
To Robert Jambor
Subject New Library
RJ>Hello Terry Hughes!
RJ> TH> Our Async Professional library already has several such routines.
RJ> TH> APRO 1.10 provides decompression for all LZH 1.0 and ZIP 1.0
RJ> TH> formats; it provides compression for all formats except ZIP
RJ> TH> implode. We are currently working on ZIP implode and LHA 2.0
RJ> TH> support but I don't have an expected release date for those
RJ> TH> items yet.
RJ>That's great, (I only have ver 1.02 :-( ) what about ARJ
RJ>formats in the future maybe, as they are pretty popular
RJ>too.
We've had a couple of requests for ARJ but, so far, no immediate plans
on adding it to APRO.
RJ>Also a good Novell Netware library would be
RJ>excellant. Have been using the routines in Netware.Tpu &
RJ>have written a chat program that allows two users to chat
RJ>to each other over the network. I would really like to see
RJ>some more net utils in the future though.
What would you like to see that we don't already provide?
Note that one big difficulty in providing Netware utilities is
documenting them. If we provide everything in the Netware API we
essentially have to duplicate all of the Netware documentation (and then
some). Our approach so far as been to provide and document the popular
APIs, provide with minor documentation (as bonus units) the less
popular APIs and ignore, for now, the more esoteric portions of the API.
RJ>Also, in the NSend & NReceive programs, I can't really see
RJ>how the code establishes the "Two-Way" communications, as
RJ>the manual seems to suggest that SPX is one way for one
RJ>channel (socket?), without resorting to some tricky
RJ>techniques.
I have to confess I'm not sure what special technique in NSEND/NRECEIVE
the manual is referring to there; I've always used two sockets for
two-way communication.
Looking at the code, my guess is there's not much to reversing the
connection; just have the receiver call SpxSend and the transmitter call
SpxListenPooled when you need to reverse the connection. What the manual
was trying to bring out, I think, was the difficulty in providing
general purpose routines to handle two-way communication.
Given that I'm not sure about this, you should probably call our tech
support line (719-260-6641) for a definitive answer.
-Terry
___
X QMPro 1.0 41-2187 X TurboPower Software (voice 719-260-6641)
--- Maximus/2 2.01wb
* Origin: The Programmers Playhouse (1:128/60)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:46:53
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 08:12:00
From Terry Hughes
To Rob Kittredge
Subject EXECWSWP question
RK>Terry,
RK> I know that you document that you do not support EXECWSWP. However,
RK>I've got a quick question that may need just a simple answer. I have
RK>the new PKZip 2.04c. One of my programs uses PKZip within a window
RK>with EXECWSWP. Do you know if PKZip now does direct screen writes?
RK>Because it no longer stays neatly inside my EXECWSWP window. Or is
RK>there something I can do to EXECWSWP to make it work properly?
RK> One more question...Remember I called a while back about problems
RK>with APro's Zmodem aborting when used w/large outbound buffers and you
RK>fixed it by having me manually change the TransTimeout variable? Did
RK>you ever find a general purpose way to fix this? And how's that SEAlink
RK>code coming <g>?
RK> Thanks for your help!!
If it's writing outside the window then I'd have to guess it's doing
direct screen writes now. If that's true there's not much you can do
about it. To make sure you're not doing something wrong with EXECWSWP
you might want to try some other programs to see if they stay within the
window. You might also want to see if PKZIP 2.04c has some command line
switch to control whether it writes through DOS or directly.
I recall the problem with Zmodem (sort of). At the time I had an answer
and called the number you gave me but apparently you had gone back to
school by then. I'm kind of foggy on the details now but I think the
following entry from our change log provides a fix:
OOZMODEM fix tzSendFinish state should be using FinishWait
___--------------------------------------------------------
tzSendFinish state should be using FinishWait instead of HandshakeWait.
Change as follows:
tzSendFinish :
begin
...
NewTimer(ReplyTimer, FinishWait); {!!.10}{!!.11}
end;
The above code used to reference TransTimeout when it should have been
referencing FinishWait. That's why changing FinishWait didn't solve your
problem but changing TransTimeout did.
-Terry
___
X QMPro 1.0 41-2187 X TurboPower Software (voice 719-260-6641)
--- Maximus/2 2.01wb
* Origin: The Programmers Playhouse (1:128/60)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:46:53
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 08:12:00
From Terry Hughes
To Joe Jared
Subject comm ports
JJ>In a message to Ron Allred <08 Jan 93 09:15> Kelly Small wrote:
JJ> >RA> Speaking of Comm Ports.. is there any Comm driver that will
JJ> >RA> handle 115200 Baud?
JJ> KS> If you mean a Pascal driver, I doubt if you can make one that
JJ> KS> will run that speed, especially if disk transfers are being used.
JJ> If it has internal buffering, I don't see why not.
JJ>Laplink works fine at 115kbaud. (I use it for Mac-IBM
JJ>transfers). A [2..8]k buffer should be sufficient for such
JJ>a driver.
LapLink and similar products use what's usually called a semi-sync
driver to obtain that speed. The ISR has receive interrupts enabled to
receive the first character of a block, but then it turns off interrupts
and starts polling for data in a very tight loop. Such an approach
requires far fewer instructions to handle each received character then a
general purpose interrupt handler but, obviously, requires this
specialized driver at each end. This is how LapLink achieves 115Kbaud on
slower machines that might not reach that speed with a more typical
communications program (in throughput rather than actual baud rate).
-Terry
___
X QMPro 1.0 41-2187 X TurboPower Software (voice 719-260-6641)
--- Maximus/2 2.01wb
* Origin: The Programmers Playhouse (1:128/60)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:46:53
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 19:58:00
From Trevor Carlsen
To Steve Mckain
Subject Array Of Char[1..31] of Char
SM> I was wondering if it is possible to change the contents of
SM> a Type variable defined as a Array[1..31] of Char. When I
SM> read a record file for some reason the Array holds old
SM> charactors from the previous read and displays them with the
SM> new. Example
Type
Users = Record
Names : Array[1.31] of Char;
While not EOF UserFile do begin
read(UserFile.Users)
With Users do begin
Writeln(textfile, Names);
Unless you know how many valid characters are in the array, I do not think
this can be done. If the array is a nul terminated string then there is no
problem -
function Asc2Str(var s; max: byte): string;
{ Converts an ASCIIZ string to a Turbo Pascal string }
{ with a maximum length of max. }
var starray : array[1..255] of char absolute s;
len : integer;
begin
len := pos(#0,starray)-1; { Get the length }
if (len > max) or (len < 0) then { length exceeds maximum }
len := max; { so set to maximum }
Asc2Str := starray;
Asc2Str[0] := chr(len); { Set length }
end; { Asc2Str }
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:21
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 20:10:00
From Trevor Carlsen
To Dave Speringo
Subject Clearing DOS MEMORY in RECORDS
DS> ...The IDE compiler doesn't clear the dos memory buffers
DS> when it loads my program and runs it and when I read or
DS> write a record in a .dat file it sends whatever crap was in
DS> the buffer into some of the record file. Now, How do you
DS> clear the dos memory before the start of the program so as
DS> to ensure clean file writing and reading? Now I understand
DS> how to use FILLCHAR, but the problem lies in the dos buffer
DS> I believe.
The problem lies in incorrectly initialised records, not with the "dos buffer".
You are on the right track with FillChar. Use it to initialise records before
using them. If a record read from disk already has garbage then it would
be difficult to eliminate that garbage.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:21
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 20:13:00
From Trevor Carlsen
To Karim Sultan
Subject Even Faster Way...
KS> Heres an even faster method that doesn't need the Dos unit:
KS> Var
KS> MyFile : File;
KS> FileExists : Boolean;
KS> Begin
KS> Assign (MyFile, 'MyFile.Ext');
KS> {$I-}
KS> Reset (MyFile);
KS> {$I+}
KS> FileExists := (IOResult<>0);
KS> End.
It might be faster (I doubt it though) but may not work and has other disadvanta
es. One is that it will return a false value if the file is Read Only unless
you set the FileMode variable appropriately, another is that it uses a file
handle and leaves a found file open.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:21
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 04:24:00
From Trevor Carlsen
To Jeff Jernegan
Subject Reading fixed length ASCII records
JJ> I'm dealing with a 87,000 record data file composed of
JJ> fixed-length ASCII fields totalling 197 characters per line
JJ> (one record per line). I defined a record of various strings
JJ> totalling 197 characters, then a file of those records.
JJ> There are no separations or delimiters between the ASCII
JJ> characters in one string and the next. After Assigning,
JJ> Resetting, Seeking a record and Reading it, I tried to write
JJ> the various strings composing the record to screen. Got
JJ> output that leads me to believe the strings composing the
JJ> record are not being truncated at their defined lengths (ie
JJ> name : string[30] displays MORE than 30 characters when I
JJ> write it.) What am I doing wrong?
JJ> PROGRAM RECORDS;
JJ> uses crt;
JJ> const
JJ> FileName = 'd:\license\cl1-6-93.dat';
JJ> type
JJ> contractor =
JJ> record
JJ> Number : string[12];
JJ> ctype : string[2];
JJ> name : string[30];
JJ> other : string[153];
JJ> end;
JJ>
JJ> var
JJ> i : integer;
JJ> onerec : contractor;
JJ> f : file of contractor;
JJ> Begin
JJ> ClrScr;
JJ> Assign(f,filename);
JJ> Reset(f);
JJ> For i := 0 to 4 do
JJ> Begin
JJ> Seek(f,i);
JJ> Read(f,onerec);
JJ> With onerec do Writeln('Record#: ',i,' Lic.#: ',number,
JJ> ' Name: ',name);
JJ> End;
JJ> Close(f);
JJ> End.
sizeof(contractor) is equal to 201 bytes because of the length bytes for the
four string fields.
How was the file originally written? The fact that onerec.name displays more
than 30 characters would indicate that the length byte is > 30. If you are
using a program written in TP to write the record to disk then this can happen
in various ways.
The first suspect I would look at is strict string variable type checking
is turned off. eg.
procedure GetName(var n: string);
begin
write('Enter name: ');
readln(n);
end;
with onerec do
GetName(name);
If strict type checking is off and a name of > 30 characters is entered that
would produce the effect you are seeing. There are other ways but I would
advise that first turn strict checking on ( {$V+} ) and try it.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:21
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 04:38:00
From Trevor Carlsen
To Will Fong
Subject Re: WRITELN IN TWO OR MOR
JL> Hey. I'll give you some advice before some of the meaner
JL> guys do!! I'm new to Pascal also. For most questions you
JL> better try the Pascal Lessons echo. There are some good
JL> programmers like Mike Copeland that will help you over
JL> there. They don't like simple questions over here. TRUST
JL> ME!! Talk to ya over there. Later...
WF> From what I know, there is not Pascal Lesson echo on this
WF> board or on anyone else that I'm on.
JL> BTW, the BLOCKADE BBS (number below) has two good TP tutors
JL> that I uploaded there. If you can't find them elsewhere try
JL> there. C-YA.
WF> ...I'll take my chances here because on the board I'm on,
WF> this is the most logical area to post it in, so it's not my
WF> fault, that is, unless the moderator says otherwise.
I believe that there is a Pascal Lessons echo in zone 1. However this echo
is most definitely applicable to all skill levels in the language and you
are more than welcome to post simple (or complex) questions here.
However, we do expect that you understand enough enough about programming
fundamentals to be able to understand fundamental answers. Eg. "What does
a variable type mean?" would indicate that you are unaware of even the most
basic principles of programming and this would make it very hard to help you.
The person giving you the advice to go elsewhere was recently asking questions
of almost that level and whilst I would never ask him to go elsewhere, I would
not answer such a question here as I believe it indicates that no attempt
has been made to do any learning at all before the request.
My own approach to answering questions is based on helping almost everyone.
"Almost" because I never answer questions directly where the answer is easily
available just by looking it up in the manual or where the question itself
indicates that the asker does not own a legitimate copy of the compiler.
Other than those caveats, I will attempt to help whenever I can.
Moderator.
Moderator.
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 04:55:00
From Trevor Carlsen
To Francois Thunus
Subject TCSEL003: ReadTxt
FT>> ... when i try to read a text with more than 254
FT>> lines, it freezes even thought i still have more than 500k
FT>> available
TC> Have you changed the type of NumberLines?
FT> no.
Ok...then the problem would appear to be not in the code you posted. As my
example does not suffer the same problem, it must be something in your code
causing the problem. If you netmail me your code I will take a look at it.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 04:58:00
From Trevor Carlsen
To Matt Blanshard
Subject HELP!
MB> ...when I put in a readln statement it just skips over it.
Can you give us a short example that demonstrates the problem?
However one point you must remember is -
if you have disabled I/O checking and at some point have had an I/O error
of any kind then no further I/O can occur until the IOResult function is called.
The following code demonstrates the "problem" -
var
st : string;
f : file;
begin
{$I-}
close(f); { error would occur here but not crash due to I- }
writeln('This will not display');
if IOResult = 0 then; { just a dummy call for demo purposes }
writeln('But this will display');
end.
This behaviour is clearly described in the manual on page 134 of the BP7Programm
r's Reference. I don't know if the TP7 manual is similar but it is in the
IOResult function description.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 05:16:00
From Trevor Carlsen
To Carlos Beguigne
Subject RRRQuestion
CB> ...I work for a bank and would like to create a program to
CB> maintain better record of our Cashier Checks and also any
CB> stop payments on them..I have done very little programming
CB> on pascal. Ok here goes:
CB> I would like to make the input of numbers to move
CB> from a fixed point to the left and insert commas
CB> every three digits for monetary figures?
You will need to set up a dedicated character by character input routine using
ReadKey and controlling the display yourself. After each character is entered
examine it and determine whether or not to add a comma. The following very
simple (and untested) routine demonstrates this.
For a better way to do such input find and download TCSEL003.* from a PDN
node near you and study the KEYINPUT unit. You may be able to modify it to
do exactly what you want or perhaps use it as a guide to producing your own
"bullet proof" input routine.
function LastPos(ch : char; S : string): byte;
{ Returns the last position of ch in S or zero if ch not in S }
var
x : word;
len : byte absolute S;
begin
x := succ(len);
repeat
dec(x);
until (x = 0) or (S[x] = ch);
LastPos := x;
end; { LastPos }
procedure GetNumber(fieldwidth: byte);
var ch : char;
x,y: byte;
i : word;
begin
st := '';
write('Enter a number: ');
x := WhereX;
y := WhereY;
repeat
ch := ReadKey;
case ch of
'0'..'9': begin
if LastPos(',',st) = length(st)-3 then
st := st + ',';
st := st + ch;
end;
#8 : begin
delete(st,length(st),1);
if st[length(st)] = ',' then
delete(st,length(st),1);
end;
#13 : exit;
end;
gotoXY(x,y);
write(st:fieldwidth);
until false;
end;
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 08:11:00
From Dj Murdoch
To Dennis Alexander
Subject Re: Turbo Vision Echo
DA> Is the Turbo Vision echo available on the
DA> backbone, and if so, what
DA> is the tag name? Sorry if this is off-topic, but I didn't know where else
DA> to post it. Thanks!
It's not off-topic, nor are questions about TV.
Here's a quote of a message from Mike Janke to tell you where to get it:
Area name is TURBOVISION
It is not on the backbone... yet. It can be had from 208/1 (or Pam can advise
you if there is a better location) or you can get it from me.
Origin: Kendall BBS - Miami, Florida (305)271-2146 (1:135/4)
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/14 08:47:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 08:13:00
From Dj Murdoch
To Jud Mccranie
Subject Re: TP 7.0
JM> The Search and
JM> F&R in 6.0 and 7.0 is still about the worst thing I've ever seen
JM> on a computer. (Offhand I can't think of anything designed that
JM> poorly. They didn't do a single thing to fix it in 7.0, so I'd expect
JM> a major overhaul of it in the next release in a year or 2.
Sure they fixed it - look at the new options in the Preferences menu. You
can now default to the previous search string, instead of the current token.
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/14 11:28:48
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 08:15:00
From Dj Murdoch
To jonny bergdahl
Subject Re: BP 7 bug list
> 29. On a 386, a longint shift of 16 bits or more is unreliable. (A fix
> is available in NEWSHR.FIX.)
JB> Where do I find those .FIX files?
Look for BP7BUGS1.ZIP on any PDN Pascal node near you. It's also available
on Internet by anonymous ftp from garbo.uwasa.fi:/pc/turbopas, and on Compuserve
in CLMFORUM DL 16. If none of those are possibilities for you, I'll mail
it to you on a 5 1/4" diskette, but I'll charge $10 (Canadian or US) for that
service. Send payment to me at
337 Willingdon Ave.
Kingston, Ontario, Canada
K7L 4J3
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/14 11:28:48
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 08:22:00
From Dj Murdoch
To Calvin Cook
Subject Re: Upgrade
CC> Well TP7.0 is here and borland didn't send me a notice of
CC> that fact or any special price notices either. So what do
CC> I have to do to receive an upgrade at on an upgrade price?
Just call them up (their number is 1-800-331-0877 ext 5016 from the USA, 1-800-4
1-3327 from Canada, they don't seem to advertise a number for the rest).
As long as you have a serial number, they'll take your money.
CC> Jump cut again: back to the TURBO VISION experts. If any
CC> of you could provide the code to make the 'hello, world'
CC> popup window ('HOW ARE YOU?' buttons: 'TERRIFIC, OK,
CC> LOUSY, CANCEL' look like a WINDOW it would be greatly appreciated
I don't know any of the example programs you mentioned. What do you mean
by "look like a WINDOW"?
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/14 11:28:49
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 08:27:00
From Dj Murdoch
To Gordon Tackett
Subject Re: 300% barrier broken
>>> LHarc 1.13c (By Haruyasu YOSHIZAKI )
>>> The original designer of huffman compression.
> GT> Gee and I thought it was called huffman encoding because Huffman
> GT> designed it around 1975.
> You're absolutely correct. I've been researching the
> developement history of compression algorythms, and
> will be removing that line from the documentation.
> Actually, the first documented date of huffman
> compression I've seen is 1977, so if you have a
GT> I stand corrected. but I did say around 1975 :-) My refs ar also for 1977.
You were closer. Huffman published his algorithm in 1952. What refs are
you looking in?!?
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/14 11:28:49
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 08:38:00
From Dj Murdoch
To Martin Austermeier
Subject Re: DPMI and debugging
MA> Do we have to live with the fact that the integrated
MA> debugger doesn't work in DPMI mode?
MA> I haven't found that documented yet, so it is a bug, isn't it?
I don't know if it's documented or not, but it's a well-known problem---use
TDX instead. Borland seems to be unable to produce an integrated debugger
in protected mode. You have the same problem under windows, where you have
to use TDW.
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/14 11:28:49
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 08:41:00
From Dj Murdoch
To Richard Nelson
Subject Re: Modifying the interiors of a specifi
PD> I would like to be able to use a procedure/method
PD> that would modify the
PD> interior of the specified interior by writing to the bottom of that
PD> window, for instance:
RN> TTerminal does exactly what you're looking for.
But it does it even better if you make it fixed width, instead of recalculating
the width after every write...
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/14 11:28:49
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 20:08:00
From Dj Murdoch
To Peter Brunet
Subject Re: Break & continue
PB> Ok.. Here's some BASIC code that we had to convert to
PB> Pascal for school.. The Pascal code came out much longer.
PB> I'd enjoy seeing it done better than I did..
PB> 90 for z = 2 to n^2
PB> 100 if z-1 <= 0 then 130
PB> 110 i = i - 1
PB> 120 goto 140
PB> 130 i = n
PB> 140 if j+1 > n then 170
PB> 150 j = j + 1
PB> 160 goto 180
PB> 170 j = 1
PB> 180 c = c + 1
PB> 190 a(i,j) = z
PB> 200 if c/n <> int(c/n) then 230
PB> 210 i = i + 2
PB> 220 j = j - 1
PB> 230 next z
All of those goto's (including the implicit ones in the IF statements) are
just a slightly confusing way to code "if ... then ... else ... ". I didn't
get your Pascal version, but I can't imagine what you would have done to make
it harder to read.
Oops, just came across your Pascal version. I don't know why you bothered
setting up all those procedures and functions - the BASIC code seems a more
natural way to implement the loop, especially if you use the suggestion above.
You didn't need to bother with the Power function, since TP supplies sqr(),
and that's all you needed here.
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-11-93 23:17:00
From Mark Ouellet
To Grischa Brockhaus
Subject Re: Exec Within A Window! 1/3
On 04-Jan-93, you, Grischa Brockhaus, of 2:2403/45.22 wrote...
GB> Ahem... I have to say first: My aktual XExec Unit changed a lot, it
GB> *don't needs* the XCrt-Unit...
GB>
GB> I really can't remember, why I used XCrt in this unit, only *perhaps*
GB> because of 2 Procedures, here they are:
GB> I hope this will help. If not, try to compile the unit w/o the "uses
GB> XCrt" and tell me, wich procedures you need, ok ?
Thanks Grischa,
I will, unless I can determine what they do and build my own. I
mainly sent the question because someone else had mentionned the unit
missing from the post. I must admit I hadn't tried it yet and assumed
there might be more routines than what you gave me.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-11-93 23:20:00
From Mark Ouellet
To John Martzall
Subject Re: password
On 06-Jan-93, you, John Martzall, of 1:129/163.0 wrote...
-=>> Quoting Mark Ouellet to John Martzall <=-
JM> So whut you are saying is that you have passwords in the program
JM> that are unchangable?
Yes, they are defined as typed constants so their position in the
.exe can be calculated.
JM> If not, how are they changed in the direct exe file?
By calculating their position in the Exe and updating the EXE from
that offset for ITEM_SIZE bytes long.
JM> Also, if the passwords are in the exe, why do they need encrypted?
Because otherwise, a simple look at the EXe would reveal the passwords
unless I used something like PKlite that compresses the EXE, rendering
the paswords unreadable to prying eyes.
JM> And from whut do you derive the key for encryption?
At the moment it is a Longint generated from the Random routine and
passed through another function that adds an additionnal difficulty. The
additionnal function could be anything, a hash from the users name, my
Social Security Number etc... Anything specific so that simple
comparison with the Random sequence is not sufficient to determine the
password when trying to decypher them.
JM> and how does the program remember the new encryption key each time?
It too is stored as an typed constant, and it too is reqritten to
the exe on each run.
JM> You have brought up many interesting questions.
Hope you find the answers as interesting John ;-)
Best regards,
Mark Ouellet.
BTW, I allready sent the PatchEXE routine on this echo a few days ago.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-11-93 23:26:00
From Mark Ouellet
To Dj Murdoch
Subject Re: Turbo Vision
On 07-Jan-93, you, Dj Murdoch, of 1:249/99.5 wrote...
MO>> the TurboVision echo is the best place for that.
DM> It's not on the backbone yet; how does someone get hold of it?
Dj,
With TeeCee's permission I'll ask Jim Barchuck to send a List of
nodes where either someone can pick it up or where a Willing sysop can
link up to receive it.
BTW some of those nodes accept points also. That is how I was first
to receive it until my Boss/node got news of it and proposed to get it
himself and add it to his list of available echoes.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:22
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-11-93 23:30:00
From Mark Ouellet
To Dj Murdoch
Subject Re: Troi
On 07-Jan-93, you, Dj Murdoch, of 1:249/99.5 wrote...
DM> I won't be taking over until Feb 1, and only then if TC doesn't change
DM> his mind. There isn't any "normal term" or provision for an election
DM> for the position unless the moderator calls one (or disappears and
DM> someone else calls one).
DM>
DM> This is in the rules that TC posts monthly. I'm not planning any
DM> changes. The moderator is a constitutional monarch, not a president
DM> :-).
Of course Dj,
I simply thought you might want to schedule elections after some
time since you were nominated by TeeCee. This echo is of course a
special case where the moderatorship is not of predefined time. As such
I thought you might like to declare elections some time in the near
future to confirm your appointement.
Seeing the lack of opposition to your succession to TeeCee I guess
the elections won't be usefull after all.
I sure would prefer to keep you until you've had enough of us ;-)
and forget the whole elections deal!!
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:23
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-11-93 23:35:00
From Mark Ouellet
To Kaido Karner
Subject Re: Protected Mode IDE problems
On 03-Jan-93, you, Kaido Karner, of 2:490/43.0 wrote...
KK> As I understand, You are talking about the problem in BP protected
KK> mode with keyboard, ie some nasty numbers from array keys, missing
KK> shifts etc .. I got this problem about year ago in an text editor.
KK> And I think, the problem is that using some protected mode soft
KK> (like Borland DPMI server or QEMM) there may occure next problem:
KK> each time when a keyboard controller generates interrupt, the
KK> protected mode server must disable A20 and turn to standard mode to
KK> serve the interrupt. And then it turnes beck to protected mode. And
KK> there is possibility that some interrupts from keyboard may be lost.
KK> I solved this problem stopping loading DOS high this time. But there
KK> are of course other solutions depending what really is the problem
Kaido,
As someone else pointed out the problem is often that these
applications have a way of pointing out flaky hardware. I know the same
setup that caused a 386 to behave this way was bugsless on other makes
and models.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:23
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-11-93 23:57:00
From Mark Ouellet
To Robert Jambor
Subject Re: ..
On 30-Dec-92, you, Robert Jambor, of 3:640/521.64 wrote...
RJ> Isn't a BBS considered worthy of Pascal <g> Why is everyone so against
RJ> the writing of BBS code. So far, I have yet to see a decent BBS program
RJ> commercial or otherwise, so why not build a better mousetrap. Does it
RJ> really mater *what* a person writes in Pascal; I think not.
Well Robert,
would you rather give your 4 years old a Kawasaki 1000 or a small
bike with training weels???
That is why Mike, like me and others, can't understand why a
beginner would want to try and write a BBS.
Most of these beginers don't even have enough understanding of the
machine, let alone the language, to write such a thing. They often think
that they can open COM1 as a file and expect it to support 19200 bps!!
You don't ask three year olds to paint a Monalisa!!! There are
enough projects that will help them learn the language as it is. And
frankly we don't need another half backed BBS. There are plenty of those
around.
And frankly, what is probably most disturbing is that this echo's
participants are writing that BBS, not the beginner since the echo
participant end up providing 50% of the real heavy code needed. In the
end, the beginner hasn't learned Pascal, he's learn communications and
will continue to need help with the langauage itself.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:24
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 00:09:00
From Mark Ouellet
To Greg Williams
Subject Re: PROTOGEN for TP7.0
On 05-Jan-93, you, Greg Williams, of 3:690/601.0 wrote...
GW> Secondly, ProtoGen enforces its own 'style' on the code it
GW> generates (which is fair 'nuf I guess), due to the placement of its
GW> 'REGEN' comment brackets. These are a feature which allow the
GW> programmer to add his own code to that generated by ProtoGen, and have
GW> it preserved through future changes and code generation by ProtoGen...
GW> Unfortunately, nine times out of ten you'd like to add code in a place
GW> where there are NO regen brackets, or you'd like to change some of the
GW> 'ProtoGen-generated' code (like the initialisation part, to make the
GW> application start off in iconic form, etc). In these cases, you either
GW> have to manually make your changes each time you regenerate the code, or
GW> have some sort of filecompare/script-editor to bring each new version of
GW> your code 'up-to-date' automatically.
Greg,
Can't you add REGEN brackets yourself??? I thought you could, they
must be like compiler directives and allowed anywhere, aren't they???
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:24
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 00:17:00
From Mark Ouellet
To Joe Konecny
Subject Re: ANSI
On 04-Jan-93, you, Joe Konecny, of 1:234/26.0 wrote...
JK> Using TP 6.0
JK>
JK> Can anyone tell me why this works -
JK> PROGRAM AnsiTest;
JK> BEGIN
JK> WRITELN(#27'[35;1;5mTest');
JK> And this doesn't -
JK> PROGRAM AnsiTest;
JK> Uses CRT;
JK> BEGIN
JK> WRITELN(#27'[35;1;5mTest');
TP 6.0, Programmer's Guide, Chapter 15, Page 199!!!!
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:24
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 00:24:00
From Mark Ouellet
To Doug Cox
Subject Re: DELETING RECORDS IN FILES
On 07-Jan-93, you, Doug Cox, of 1:106/7851.0 wrote...
DC> Could someone please give me an example of a good way (the best way?) to
DC> delete records from a typed file? My only guess, after looking at all
DC> of the TP documentation, and my one TP book, is that I will have to read
DC> the file, and write a new file, excluding the "deleted" record. This
DC> will require another (identical) TYPE statment, and file variable, etc.,
DC> and will require me to then rename the smaller file...
DC>
DC> Isn't there a more efficient way????
YES THERE IS!!!
DC> Is it just me, or is this subject horribly missing from all of the TP
DC> books?!?!?!
Doug,
The main reason it is missing from TP books is that it is more
Datamanagement related than TP related. Most of those books deal with
the same basic problems over and over. They all overlap on most aspects.
Ok for that management problem:
Modify your record to this:
type
My_Record = Record
Deleted : boolean;
< Rest of your usual stuff >
end;
Now if you use index files, create an index file with the DELETED
field as the key to that index.
Pseudo code ahead:
Adding a record:
1- Set index to DELETED
2- Go to first record
3- Is it deleted
4- Yes, use it as our new record
4a Change the Deleted field to False;
4b Write our new record to this one overwriting it.
5- No, Add a new phisical record to the file,
5a Remember to Set Deleted to false on this one
5b write our record to the new record.
Deleting a Record:
1- Go to Record,
2- Read it in
3- Set the deleted field to TRUE.
{ This allows UnDeleting a record with it's original data}
Listing records:
Remember to skip deleted records.
you will soon find that using this management method your applications
will perform at speeds vastly faster than others. Simply because the
file is never moved, truncated etc.. Eliminating fragentation on the
disk. You will also find that as you open new databases, they will
quickly grow and then attain a stable size where new records are mostly
reusing deleted records.
This is how my dBase applications are handled. Our last project
while I was at the Justice Departement was re-written to use this
principle of management instead of using dBase's Pack and delete
routines. The efficiency was greatly augmented both in speed and in disk
occupation. We no longer needed to perform unfragmentation routines
periodically and we also could reverse any error our users might have
commited.
By adding additionnal info such as deletion date, user ID that
requested the delete etc... we were able to offer options that were not
available before. An added benefit was that we didn't need to reindex
the whole database. Affected Index files were open during operations and
were thus opdated on the fly. So our Deleted index was allways uptodate.
Generating a message when physical space was added to the database, we
were able to perform defragementation only when really needed. And those
operations were greatly shortened in time because 98% of the database
was allready defragmentated.
It's the sensible way to do it, and it can be done in any language.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:24
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 00:59:00
From Mark Ouellet
To Ronald Westphal
Subject Re: Tvision echo
On 08-Jan-93, you, Ronald Westphal, of 1:3811/25.0 wrote...
RW> Is there an echo on or off the backbone for TVision? If so can someone
RW> please post the area tag for it.
Ronald,
the TAG is TURBOVISION but it's not on the backbone yet. I'll ask
Jim Barchuck to post a list of nodes here where someone can hookup to
it.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:24
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 03:29:00
From Mark Ouellet
To Michel Dussault
Subject Re: Bp 7.0 Utilities (bo
On 09-Jan-93, you, Michel Dussault, of 1:240/518.0 wrote...
MD> Yon must try "A l'enseigne du livre" on Pierre-Bertrand! I found
MD> there a lot of good book. They have a lot of Microsoft press book. I
MD> even found Undocumented windows in french (It was 100$! So i bought it
MD> in english (50$)). They have a lot of good book... The active
MD> electronic book section is shrinking. I thinq they wont sell book for
MD> long time....
Thanks a bunch Michel,
I was unaware they had a programing section. It's a subject that is
dearly missing from most local libraries. I guess there are just not
enough serious programers in Quebec or we just don't advertise enough,
or maybe they don't advertise enough. I know I often thought of asking
such a library to try a programming section. I thought if it was
advertised enough, meaning just a bit, programers would come there by
the ton. After all, how many other libraries advertise programming
sections??
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:24
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 03:35:00
From Mark Ouellet
To Dj Murdoch
Subject Re: Borland Canada address?
On 09-Jan-93, you, Dj Murdoch, of 1:249/99.5 wrote...
DM> Minor correction: Borland has no integrated debugging in protected
DM> mode. The Windows IDE can't debug, and the DOS IDE can't debug pmode
DM> programs. You *have to* use the Windows or pmode version of the
DM> debugger.
Oops there I go again ;-)
DM> Something important that I've just found is missing: no Asciiz binary
DM> I/O. WriteLn handles the PChars fine, but it's a pain to read a
DM> null-terminated string from a binary file or a stream.
Dj,
Do what I do, Just read it in a buffer large enough to accomodate
it. I just used this method a few days ago to write a .MSG reader. I
simply declared a Structure of nearly 64K with the MSG header at the top
and a null terminated string as the last item. Read that in a buffer
just as big and had no problems.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:24
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 08:12:00
From Mark Ouellet
To Chris Gahan
Subject Re: ..
On 05-Jan-93, you, Chris Gahan, of 1:259/423.0 wrote...
MO>> Mike,
MO>> do you have any code to add SoundBlaster support to a BBS??? ;-)
CG> HEY! You just gave me a good idea! Make a BBS and a Term prog, that can
CG> have
CG> soundblaster, and grx support! Sort of like RoboTerm with soundblaster!
CG> Wow!
CG> cool.. i'll get started as soon (as i learn more Pascal!) ... :) ok..
CG> well,
CG> thanks for the inspiration!
Chris,
I just hope Mike doesn't see this or he'll kill me for sure ;-)
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:25
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-12-93 11:28:00
From Mark Ouellet
To Patrick Drouin
Subject Re: BP 7.0 UTILITIES (BO
On 09-Jan-93, you, Patrick Drouin, of 1:240/1.0 wrote...
PD> Did you know that the Camelot in Mtl accepts phone orders and I believe
PD>
PD> they also do 24hours delivery tp QCity? Give them a call for their
PD> catalog.
Well you see Patrick,
Douglas allready gave me Camelot's adress and number some time ago
and I still have it around. But, I like to have a look first at the
book, heck I've been disapointed in books that looked great at first
glance so you can imagine I don't really like ordering books. I don't
think you buy records without having heard them at least once, right??
Even local stores will order books for you but I still need to go
through it first to make sure it satisfies my needs. Come to think of it
the P.U.L used to have some good ones. It's been a while since I checked
their collection. I think I'll drop-by there in the near future just to
check on the current selection.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/14 23:38:25
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 19:55:00
From Trevor Carlsen
To Mike Copeland
Subject A better way?
MC> Following is some code I've thrown together <!>, which has
MC> to find a sequence of 4 characters in a large buffer -
MC> non-text data. The buffer is 4096 characters, and the
MC> sequence(s) I'm searching for could be anywhere in it, and
MC> may be found numerous times. I suspect this code is pretty
MC> inefficient, but I can't think of anything better. (Yep,
MC> this is to work with the ZIP directory at the end of the
MC> file...) So, I'm looking for a better way to code this
MC> process.
Mike, I think that I remember you indicating that you have TCSEL*.*. If so
you already have an example from that package in the program SEARCH.PAS.
This program is one of the few complete "bullet-proof" programs in the package
and is approaching what I call commercial grade. As such it should be ideal
for your needs.
If I am mistaken and you don't have TCSEL*.* then it is available on PDN nodes.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:15
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 20:01:00
From Trevor Carlsen
To Brian Dhatt
Subject Moderation
DN> @PATH: 120/125 102 11/3 13/13 396/1 123/19
BD> Dean, I imagine that you are one of these systems. Your
BD> re-echoing of many messages with the from field replaced
BD> with your name is a problem. Please fix it...Brian
You would be welcome to send this message by netmail. However as you are
not the moderator this should not have been posted by you. Self-appointed
echo cops do not enhance the echo in any way.
If you wish to reply to this message you are to do so ONLY by netmail.
Moderator.
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:15
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 20:07:00
From Trevor Carlsen
To Chris Priede
Subject ORD and CHR not Function
TC> Is that so? My manual says it is a function and that is
TC> good enough for me. No way is it an operator. Actually chr,
TC> ord, sizeof etc are not true functions in the sense that
TC> they are called in the program, rather they are evaluated at
TC> compile time and the appropriate action taken directly.
CP> Yes, and that is the problem. Well, I will just have to show
CP> your manual is wrong.
Does this mean that you now consider yourself a greater authority than Jensen
and Wirth also?
I agree that if you define a function as a routine that is called at runtime
- eg control switches to another area of code before returning with a value,
then these are not functions. However that is a narrow and not necessarily
correct (or incorrect) definition.
Many optimising compilers (and I do not claim that TP is any great shakes
in that field) do compile time evaluation of code where possible. That does
not mean that ord and chr are not functions.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:15
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 20:24:00
From Trevor Carlsen
To Ross Tracy
Subject Problem
RT> I am also having problems with LongInt, I have a variable in
RT> record declared as LongInt, and whenever I add any value to
RT> it, as soon as it exceeds 32767, it screws up and gives a
RT> random number. Aren't LongInts supposed to be from -2b to
RT> about 2billion???
Cast the first or second operand as a longint and your problem will disappear.
eg...
var
L : longint;
a,b,c : integer;
begin
a := 10000;
b := 20000;
c := 10000;
L := a + b + c; { will ALWAYS return 25536 ( -32768 + (40000 - 32768)) }
L := longint(a) + b + c; { will correctly return 40000 }
end.
Expressions are evaluated in the same type as the operands. I can assure
you that the results you are seeing are in no way random. They may appear
that way if you do not understand what is happening.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:15
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 20:26:00
From Trevor Carlsen
To Ross Tracy
Subject hey!
RT> ... and I want to enter a field of a integer. but when
RT> return is pressed, it Returns to the next line until proper
RT> input is received (a number) I want to stop this and also
RT> limit the length of the number to 4 chars.. so the input
RT> field is 4 chars long and cannot be exceeded, and if Enter
RT> is pressed, it won't go to the next line.
Get TCSEL003.* from a PDN node near you. It has code that will do what you
want. Be sure that you get 003 and not 002 or 001 as the routine you need
has a serious bug in those earlier releases.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:15
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 20:30:00
From Trevor Carlsen
To Doug Coker
Subject Encryption
DC> I need some encryption routines that could work with strings.
The following very simple routine will encrypt and decrypt a text file a line
at a time. The CR/LF is left unencrypted and the algorithm ensures that no
encrypted character can be < asciiz 127 *provided that* the text for encrypting
has no hi-bit characters.
Obviously this is just a skeleten example (untested) with no error checking
but it should demonstrate what you need to do. After encrypting text just
reverse the parameters and run the program again to decrypt the encrypted text.
program encrypt_text;
var
inText,
outText : text;
st : string;
function ConvertTxt(s: string): string;
var x : byte;
begin
ConvertTxt[0] := s[0];
for x := 1 to length(s) do
ConvertTxt[x] := chr(ord(s[x]) xor (Random(128) or 128));
end; { ConvertTxt }
begin
RandSeed := 1234567;{ set to whatever value you wish - this is your "key" }
assign(inText,ParamStr(1));
reset(inText);
assign(outText,ParamStr(2));
rewrite(outText);
while not eof(inText) do begin
readln(inText,st);
writeln(outText,ConvertTxt(st));
end;
close(inText);
close(outText);
end.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:16
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 20:38:00
From Trevor Carlsen
To John Linden
Subject Timer TSR
JL> I would like to create a program that will execute another
JL> program at a specified time. Would I have to make it a TSR??
JL> If so, is there a lot of special things would have to do to
JL> create a TSR??
Writing TSRs is not something for programming tyros. Seasoned professional
programmers who earn their living in the industry generally prefer to use
pre-written library code.
The gotchas and pitfalls of TSR writing for all but the elite are just too
many and it is easier, more productive and less painful to use code written
by specialists in the field.
If you still want to learn how to do them buy a good book - say Tischer's
"Turbo Pascal Internals" and a good professional grade TSR library - say TurboPo
er's "TSRs Made Easy" and study how the experts do it.
TeeCee
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:16
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-15-93 06:02:00
From Trevor Carlsen
To John Linden
Subject BBS Online Interface
JL> This is off-topic but I'll help you real quick...
JL> Sorry, guys for being off-topic. Won't do it again for a long time
Strike 2
Moderator.
--- TC-ED v2.01
* Origin: The Pilbara's Pascal Centre (+61 91 732930) (3:690/644)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:16
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 07:44:00
From Dj Murdoch
To Trevor Robinson
Subject Re: Real Number Arithmetic
-=> Quoting Jason Huebel to All <=-
JH> Also, How would I randomize a number between 1 and a number such as
JH> 100,000? Integers only work up to 32767, so how would I go about it?
TR> Well, how about Random(1000) * Random(100)? Not
TR> scientific but it should be
TR> okay.
That'll give a pretty non-uniform distribution on 0..65535; you could get
the uniform distribution by
Random(100)*longint(1000) + Random(1000);
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:19
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 07:46:00
From Dj Murdoch
To martin nilsson
Subject Re: tpu6->tpu7
> I've never written any utility capable of doing that. It's
> actually much harder than you suggest; calls to the system
> unit (and there are lots of them in normal code) can't be
> made from assembly, so that complicates things a lot.
MN> but the question is: is it all possible? You only state
MN> that it "complicates things a lot", but to what degree?
To the degree that I've never done it.
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:19
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 07:48:00
From Dj Murdoch
To Mark Ouellet
Subject Re: Borland Canada address?
DM> Something important that I've just found is missing:
MO> no Asciiz binary
DM> I/O. WriteLn handles the PChars fine, but it's a pain to read a
DM> null-terminated string from a binary file or a stream.
MO> Dj,
MO> Do what I do, Just read it in a buffer large enough to accomodate
MO> it. I just used this method a few days ago to write a .MSG reader. I
MO> simply declared a Structure of nearly 64K with the MSG header at the top
MO> and a null terminated string as the last item. Read that in a buffer
MO> just as big and had no problems.
That's fine because you know how big to make the buffer - the file size is
the buffer size. I'm reading .TPH files, where every line is null-terminated,
and there's no guarantee that a line will be reasonably short. I have to
handle the possibility that a line won't fit in the buffer I choose, since
I don't want to allocate 64K to every line. Grrrr. Why didn't they just
use Pascal strings??
--- Msg V3.2
* Origin: Murdoch's_Point - - (1:249/99.5)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:19
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 23:03:00
From Mark Ouellet
To John Reid
Subject Re: BP 7.0 Utilities (Bo
On 10 Jan 93 , you, John Reid, of 1:150/170.0 wrote...
JR> You need to know someone who has paid the US$7.95 for basic
JR> services and you need a credit card. Order to delivery is often
JR> within two days. Of course, browsing is difficult.
John,
It all seems interresting but your last comment is what is
effectively holding me back. I allready received a similar message about
Camelot in Montreal, they will also deliver to Quebec City but again you
can't browse first. Thanks I'll keep the info anyway just in case.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 23:06:00
From Mark Ouellet
To Scott Samet
Subject Re: move()
On 10 Jan 93 , you, Scott Samet, of 1:135/990.0 wrote...
SS> All you have to do is keep in mind that under DPMI, memory management is
SS> almost exactly the same as under Windows enhanced mode. Use the memory
SS> management chapters of Petzold's Windows book as a guideline.
Scott,
Thanks, I was aware of that as the DPMI server of Qemm lists this.
They state that if Windows is started QDPMI will relinquish DPMI support
to Windows but other applications requiring DPMI services that don't
have their own like Windows does will be serviced by QDPMI.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 23:08:00
From Mark Ouellet
To Vince Laurent
Subject Re: BP 7.0 Utilities (Bo
On 10 Jan 93 , you, Vince Laurent, of 1:382/10.0 wrote...
VL> The book stores around here are pretty good. If they don't have one
VL> they order it. I also belong to the Small Computer Book club. If they
VL> have a book I want and the book store doesn't have it (or would take too
VL> long to order it) I get it through there at a reasonable cost.
Vince,
Thanks but see my other two replies. Again my main concern is not
being able to browse through the book first.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 23:08:00
From Mark Ouellet
To Robert Jambor
Subject Re: Speed wanted !
On 10 Jan 93 , you, Robert Jambor, of 3:640/521.64 wrote...
RJ> Why not write it in assembler then, if you are going to all this
RJ> trouble ?? Just write the functions as externals.
Robert,
That was the idea!! since BASM can't support 386 instructions it has
to be in another form.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 23:17:00
From Mark Ouellet
To Brian Swanson
Subject Re: 2 Questions
On 09 Jan 93 , you, Brian Swanson, of 1:123/419.0 wrote...
>> 2) What the structure format is for netmail *.MSG
>> files??
BS> --- Cut Here ---
BS>
BS> Type
BS> Fido_FromType = String[35];
BS> Fido_ToType = String[35];
BS> Fido_SubType = String[71];
BS> Fido_DateType = String[19];
Brian,
All of the above are incorrect!!!!! These are not strings they are
arrays of caracters which is not the same.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-13-93 23:32:00
From Mark Ouellet
To Glenn Crouch
Subject Re: Strange Key Happenings in BP IDE
On 09 Jan 93 , you, Glenn Crouch, of 3:690/643.3 wrote...
GC> Well Peter Ogden and myself managed to locate one package that was
GC> causing droppings and keystrokes to not work while in the BP IDE, and
GC> that was QDPMI - the DPMI extension for QEMM. It caused great havock
GC> with the new PKZIP 2.04c as well. Thankfully Quarterdeck has released
GC> an update - QDPMI101 - which seems to fix not only the problems with
GC> PKZIP but also BP!!!
Glenn,
I had been running Qdpmi for a few months and had no problems with
BP at all!! Of course I'm running a 486-33 if that makes a difference.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 06:14:00
From Mark Ouellet
To Mike Copeland
Subject Re: IDE
On 10 Jan 93 , you, Mike Copeland, of 1:114/18.10 wrote...
mj>>I see that 'M' once in a while and I asked the same question in the
mj>>Borland forum on Compuserve... no one could tell me what it is or
mj>> why it
mj>>appears but others have confirmed seeing it too.
MC> Richard Nelson just posted an answer: it's a "modify file" indicator,
MC> and this information escaped the Borland documentation process...
Mike,
Are you sure about this?? Mine displays the graphic star, you know
the one that looks more like a daisy?? It appears as soon as I modify
the file.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 10:55:00
From Mark Ouellet
To Francois Thunus
Subject Re: TCSEL003: ReadTxt
On 08 Jan 93 , you, Francois Thunus, of 2:270/25.1 wrote...
FT> I have only quoted this part of the message but i think there is
FT> a big misunderstanding. I have more than 500k of memory available (when
FT> inside the program) and i really don't think that is the problem. I have
FT> trapped the loop as i always do when i don't understand what is going
FT> on, using simply a........
FT> PS: i still don't get it, though :*)
Francois,
You mentioned the file size further down in your message. Now
remember that having 500K free does not garantee loading a 200K text
file. if you are using an array of string pointers for instance, you are
still limited to 64k for that array, and it will contain at most 16380
pointers. Which means if the 200K file only contains short strings, say
2 or 3 caracters each, then you get 200000/5 (3 caracter + CR+LF=5)=
20000 pointers needed for 20000 different strings.
Maybe that is what was happening to you.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 10:59:00
From Mark Ouellet
To Wayne Moses
Subject Re: Borland Canada address?
On 11 Jan 93 , you, Wayne Moses, of 1:255/6.0 wrote...
WM> That is a good idea ... never thought of it like that. Of course, there
WM> must be a need for additional credit other than getting all student
WM> upgrade prices on various software packages. If not then the cost of
WM> the
WM> course(s) must be added to the student upgrade price. That can come out
WM> more expensive, depending on what you take.
That's why I mentioned the need for those extra credits. If you
don't need any credit then the total cost effectively outways the normal
cost.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 11:09:00
From Mark Ouellet
To Martin Austermeier
Subject Re: Break & continue
On 11 Jan 93 , you, Martin Austermeier, of 2:2407/109.15 wrote...
DM>> Can you post an example where you think a Goto would be the best
DM>> choice?
MA> in nested loops for instance.
MA>
MA> like in
MA>
MA> FOR i := 1 TO 100 DO BEGIN
MA> FOR j := 1 TO 100 DO BEGIN
MA> FOR k := 1 TO 100 DO BEGIN
MA> IF condition THEN GOTO END_LOOPS; { rather than Break }
MA> END;
MA> END;
MA> END;
MA> END_LOOPS:
Now see Martin,
there is a BAD example. You can't figure it out without a GOTO
simply because your logic is in error. Goto is not the solution, the
solution is to use the correct construct in the correct situation.
i := 1;
condition := false;
while (i <= 100) and not condition do begin
j := 1;
while (j <= 100) and not condition do begin
k := 1;
while (k <= 100) and not condition do begin
inc(k);
end;
inc(j);
end;
inc(i);
end;
As you can see, there is allmost allways a logic solution which
maintains normal flow.
Best regards,
Mark Ouellet.
--- QM v1.30
* Origin: Sequel to Cramer VS Cramer: TPCramer VS UUencode;-) (1:240/20.4)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:26
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-15-93 00:11:00
From Norbert Igl
To Mike Copeland
Subject Pascal -> COM?
Hello Mike!
11 Januar 1993 20:29, Mike Copeland wrote to Chris Gahan:
CG>> Is there a way to make Pascal compile with a COM file
CG>> instead
CG>> of an EXE? Com files are faster if all you're using is text and they
CG>> are smaller most of the time.. so, is there a way?
MC> No, there isn't any way to get TP/BP to produce .COM files. I think
------------------------------------------
.... quoteing J.Bond : "Never say never" ....
[BIG GRIN ON...]
Var F : File;
Const Comfile : array[0..4] of Byte = ($EA,$00,$00,$FF,$FF);
begin
assign(f,'RESET.COM');
rewrite(f, sizeof(comfile) );
blockwrite( f, Comfile, 1 );
Close( f );
writeln(' REBOOT.COM created !');
end.
sorry, could't resist.....Norbert ( Not writing an BBS....(:-))
--- GoldEd 2.40p/FD2.02/FastEcho
* Origin: Fly like an Igl (2:2402/300.3)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:31
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 23:22:00
From Norbert Igl
To Vince Laurent
Subject MultiLine Question
Hello Vince!
Dienstag, 12 Januar 1993 12:27, Vince Laurent wrote to All:
VL> BEGIN
VL> Assign(GameFile,'GIP.DAT');
VL> {$I-} Reset(GameFile); {$I+}
VL> IF IOResult <> 0 THEN NumPlayers := 1
VL> ELSE BEGIN Readln(GameFile,NumPlayers); INC(NumPlayers); END;
VL> ReWrite(GameFile);
VL> Writeln(GameFile,NumPlayers);
VL> Close(GameFile);
VL> END;
VL> This works fine now and then but I have managed to get into the
VL> situation where two people join the game almost at the same time
VL> and instead of have 2 players, there is only 1.
look at this theoret. timing-diagramm.....
Action | player #1 | #2
| |
---------+------------------------+-----------------------
| ? | ?
Time | Assign(f) | ?
| | Reset( f ) | Assign( f)
V | IoResult=1 | Reset(F);
| 1->NumPlayer | IoResult = 5 (* 162 ? *)
| Rewrite(f) | 1-> NumPlayer
| write(f) | Rewrite( f )
| close (f); | write( f ) (* STILL = 1 *)
| ? | close ( f )
---------------------------------------------------------------
NumPlayer = 1 !
the problem is "IoResult <>0" !
you have to be more specific !
"IoResult=2" ... "noFile"
=5 .... "file in Access"
(162) .........." "
something like this might work :
assign(...);
reset(...);
repeat
Case IoResult of
0 : ; { file OK and open FOR ME to read/write, locked for others ! }
2 : ; { no File, OK FOR ME to write, locked for others ! }
else begin { FILE alreday open by another process !!! }
delay( random( 1000 ));
Reset( GameFile );
{ debug output goes here ... }
end;
end { case }
until ( IoResult = in [ 0,2 ] );
{ here goes the reading/writing... }
VL> How do I lock a single TEXT file from others?
see above .
VL> I also think this will be a problem area when I want to remove
VL> players from the game.
the same....
VL> Any help would be GREATLY appreciated!
yo're welcome (:-) Norbert
--- GoldEd 2.40p/FD2.02/FastEcho
* Origin: Fly like an Igl (2:2402/300.3)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:31
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 23:48:00
From Norbert Igl
To jonny bergdahl
Subject Tp:ultimate virus maker
Hello jonny!
12 Januar 1993 14:53, jonny bergdahl wrote to Brian Pape:
>> codes that I have written into something that CPAV (Central Point Anti-
>> Virus) insists are viruses... Other virus programs say the same thing-
jb> CPAV is plain junk.
(:-) i read a good orgin-line some time ago....
.... 'Junk : Stuff we throw away. Stuff: Junk we keep."
Norbert
--- GoldEd 2.40p/FD2.02/FastEcho
* Origin: Fly like an Igl (2:2402/300.3)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:31
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Conference 4
Date 01-14-93 23:56:00
From Norbert Igl
To Scott Wolfe
Subject unix/pascal
Hello Scott!
Dienstag, 12 Januar 1993 06:51, Scott Wolfe wrote to All:
SW> Is it possible to write Pascal code to run in a Unix inviroment?
SW> -Scott Wolfe
look for " linux " and " GNU C++ preprocessor for pascal ",
i heard this to be a ( nearly ? ) TP 5.0 compatible system.
Norbert
--- GoldEd 2.40p/FD2.02/FastEcho
* Origin: Fly like an Igl (2:2402/300.3)
* Tossed by SFToss/286 v1.02a on 93/01/16 07:53:31